The invention relates to an intelligent page buffer allocation system for a printer or copy machine.
Conventional printers and copy machines known in the art include memory buffers to store data or bitmaps of images that are included in a print job. The printer or copy machine may be requested to make multiple copies of the same print job. A print job may include multiple bitmaps or pages. The bitmaps may be printed on a wide variety of page sizes, such as 8 1/2  by 11 inches, ledger size, legal size, 11 by 17 inches, A-3, A-4, A-5, etc. Certain bitmaps may require larger memory buffers to store the more data associated with a larger size page when compared to a smaller size page. Memory buffer requirements per bitmap may also be affected by a number of bits required to identify each pixel. A page may include one or more bitmaps, for example where each bitmap represents a different color, such as cyan, magenta or yellow. A separate bitmap may be associated with a black bitmap. A page that included cyan, magenta, yellow and black bitmaps may require four or more memory buffers—one for each bitmap.
An electronic document may be comprised of one or more bitmaps. A bitmap includes data that describes a pattern of pixels, or dots, that are printed on a page. The bitmap may include a fixed number of bits of data to describe each of the pixels. The bits may be used to describe both an intensity and color of the pixel. For example, a two bit pixel may describe an absence of color by a bit representation of [00] and may describe a black pixel by the bit representation of [11]. Lighter and darker shades of grey may be described by bit representations of [01] and [10], respectively. The number of bits per pixel may vary from one to eight or more to obtain even greater differences in intensity and color variation. The more bits that are assigned to a pixel increase the amount of memory that the bitmap will require.
A memory buffer is allocated to a bitmap in a print job prior to printing the bitmap and then released after the bitmap has been printed. The copy machine may include multiple memory buffers to accommodate the multiple bitmaps within a print job or to accommodate bitmaps of varying size. When a memory buffer is released, it may be allocated to a new bitmap for the same print job, or it may be allocated to a bitmap associated with a subsequent print job. When a second copy of a print job is requested, the bitmaps are decompressed from memory or a hard disk, and again stored in the memory buffers. The resubmitted bitmaps overwrite the prior data in the memory buffers. Decompressing the data consumes processor resources and requires a processing time that extends a length of time that is otherwise required to print the second copy of the print job.
The present invention addresses these and other problems associated with the prior art.